package com.iot08.common.entity.app;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author cwj
 * @description 支付订单信息
 * @date 2024/12/29 11:18
 **/
@Data
@Document("pay_order_info")
public class PayOrderInfo {

    @Id
    private String id;

    //产品id或金币Id
    private String pId;

    //订单类型（0：会员产品订单，1：金币产品订单）
    private Integer orderType;

    //支付订单id
    private String transactionId;

    //支付用户手机号
    private String phone;

    //支付用户id
    private String openid;

    //苹果支付时创建的appAccountToken
    private String appAccountToken;

    //下单时间
    private String orderTime;

    //订单状态（0：待支付，1：已支付，2：支付失败，3:退款）
    private Integer orderStatus;

    //支付时间
    private String paymentTime;

    //支付方式（wechatPay：微信支付，alipay：支付宝支付，applyPay：苹果支付）
    private String paymentMethod;

    //支付状态（0：未支付，1：已支付，2：支付失败，3：退款）
    private Integer paymentStatus;

    //支付金额
    private BigDecimal payAmount;

    //实际支付金额
    private BigDecimal realPayAmount;

    //实际收款金额
    private BigDecimal realReceiptAmount;

    //产品原价
    private BigDecimal originalCost;

    //产品类型（1：包月会员，2：包年会员，3：永久会员）或（1：白金套餐，2：黄金套餐，3：红金套餐，4：紫金套餐，5：黑金套餐）
    private Integer productType;

    //产品信息（包月会员、包年会员、永久会员、白金套餐、黄金套餐、红金套餐、紫金套餐、黑金套餐）
    private String productInfo;

    //购买金币的金币数量
    private Integer goldCoinNum;

    //支付币种
    private String currency;

    //支付IP
    private String payIp;

    //订单备注信息
    private String remark;

    private Date createTime;

    private Date updateTime;

    //创建时间的时间戳
    private Long createTimestamp;
}
